
# beautifulsoup 和 xpath 一样是用来解析 html 和 xml 的工具
# 同样也可以解析 服务器返回 和 本地的html

from bs4 import BeautifulSoup

# 服务器文件
# soup = BeautifulSoup("文件信息"，'lxml')
# 本地文件
# soup = BeautifulSoup(open('文件路径', 'r', encoding='utf-8'), 'lxml')

# 我们以本地文件为案例来学习下基础语法
soup = BeautifulSoup(open('beautifulsoup基础语法.html', 'r', encoding='utf-8'), 'lxml')

# 获取到第一个 符合条件的 标签
# print(soup.a)

# 获取标签的属性和属性值
# print(soup.a.attrs)

# find 方法
# 通过指定属性寻找对应标签
# print(soup.find('a', title="百度一下"))
# 通过class寻找标签 因为python有class关键字所以我们需要加下划线
# print(soup.find('li', class_="zhangsan"))

# find_all  获取多个标签数据 返回list列表
# print(soup.find_all('li', id='goudan'))

# 获取不同的多个标签  加一个 list
# print(soup.find_all(['span', 'a']))

# select（推荐）
# select 里边写的属性有点类似于 css 的选择器   会css的要简单很多了
# print(soup.select('a'))

# print(soup.select('.lisi'))

# print(soup.select('#goudan'))

# 获取所有li中带id的标签  类似于 css 的属性选择器
# print(soup.select('li[id]'))

# print(soup.select('li[id="goudan"]'))

# print(soup.select('li span'))

print(soup.select('ul>a'))